Skip to content

Migrate packaging to pyproject.toml and uv#10

Merged
kipe merged 6 commits into
mainfrom
switch-to-uv
Jun 16, 2026
Merged

Migrate packaging to pyproject.toml and uv#10
kipe merged 6 commits into
mainfrom
switch-to-uv

Conversation

@kipe

@kipe kipe commented Jun 16, 2026

Copy link
Copy Markdown
Owner
  • Replace setup.py with pyproject.toml using setuptools
  • Update CI workflows to install, test, build, and publish via uv
  • Remove requirements.txt and add uv.lock for reproducible deps

Local development and CI now use uv for dependency management and package builds. PyPI publishing uses uv build and uv publish.

- Replace setup.py with pyproject.toml using setuptools
- Update CI workflows to install, test, build, and publish via uv
- Remove requirements.txt and add uv.lock for reproducible deps

Local development and CI now use uv for dependency management and
package builds. PyPI publishing uses `uv build` and `uv publish`.
@kipe kipe self-assigned this Jun 16, 2026
@kipe kipe changed the base branch from master to main June 16, 2026 08:17
kipe added 5 commits June 16, 2026 11:40
- Silence XMLParsedAsHTMLWarning when parsing FMI API responses
- Add example.py demonstrating basic observations usage

Parsing FMI WFS responses no longer emits XMLParsedAsHTMLWarning during
tests and normal use. example.py shows how to fetch observations for a
place.
- Reformat fmi.py and observation.py with ruff style rules
- Update test modules to match double-quote convention

No behavior changes; this commit normalizes quote style and line
wrapping for consistency with ruff formatting.
- Guard against missing wml2:time and wml2:value elements in parser
- Continue to next point instead of raising AttributeError

Response parsing is more resilient when the FMI API returns incomplete
measurement points in a timeseries.
- Switch pyproject.toml to setuptools-scm dynamic versioning
- Fetch full git history in the PyPI publish workflow
- Drop pinned local version from uv.lock

Release versions now come from git tags automatically, so
pyproject.toml no longer needs manual version bumps before
each release.
- Swap flake8 for ruff in dev dependencies and uv.lock
- Add Ruff lint and format config to pyproject.toml
- Run ruff check and ruff format --check in CI
- Apply Ruff fixes: imports, f-strings, and style cleanups

CI and local dev now use a single Ruff toolchain for linting
and formatting instead of flake8, with broader rule coverage.
@kipe kipe merged commit 40bd24b into main Jun 16, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant